

-- 函数

action=nil;
action=function ()
	print("匿名函数")
end
action()


-- 无参无返回值
function test1()
	print("无参无返回值")
end
test1()


-- 有参数
function test2(a)
	print("有参数"..a)
end
test2(888)


-- 有返回值
function test3(a)
 	return	a^2
end
print("有返回值："..test3(888))

function test4()
	return "aaa",123,"@@@"    --多返回值
end

temp1,temp2,temp3=test4()
print(temp1..temp2..temp3)


-- 函数的类型
print(type(action))

-- 函数的重载（不支持）


-- 变长函数
function test5( ... )
	arg={...}
	for i=1,#arg do
		print(arg[i])
	end
end
test5(1,2,3,4,5,6,7,8,9)

-- 函数嵌套

function test6(  )
	return function (  )
		print("aaaa")
	end
end
a=test6(6)
a()
-- 闭包
function test7(x)
	return function ( y)
		return x+y
	end
end
test8=test7(7)
print(test8(8))
